The present invention relates in general to data processing systems and in particular to determining policy follow-up action based on user-specified codes.
The prevalence of networked systems and applications in business environments has created a challenge for information technology (IT) administrators. As networks have become ever more heterogeneous and connected to each other, scalable and distributed management of IT infrastructure has become desirable. To address this issue, policy-based management is often exploited. Instead of running customized scripts and manually configuring and auditing networked devices and applications, policy-based management allows IT administrators to specify high-level directives or policies for various management tasks such as network planning, problem detection, security and quality of service (QoS) provisions.
Policies can be specified in many different ways and multiple approaches have been suggested for different application domains. However, as the heterogeneity of devices increases and the connectivity of networks grow, policies specified in different ways using varying techniques are increasingly interacting with one another. Policies can be written by a policy author that are irrelevant in a local environment, dominated by other policies or conflicting with already existing local policies. For example, a policy author may define a policy for Cisco switches. However, when the policy is deployed, the local domain may not have Cisco switches or the existing policies may conflict with the incoming policies for Cisco switches.
Many policy systems include constructs that allow structured actions. For example, the distributed management task force (DMTF) policy model supports condition-action policies. In the action section, the DMTF policy model supports constructs such as “do until success” and “do until failure”.
This capability is useful for structured actions. For example, the intent of the policy might be “if a LUN is almost full, move the file system to a larger LUN”. The action might be an operation to copy data from LUN 1 to LUN 2 and/or an operation to delete the data on LUN 1. Of course, if the first operation fails, then it would be undesirable to execute the second operation as this could cause a loss of data. Thus, a construct of “do until failure” is appropriate in this situation.
An issue in these policy systems is how to detect the failure of an operation. In some policy systems, failure is indicated with a status indication less than 0. In other policy systems, failure is indicated with a status indication of 0. In still other policy systems, failure is indicated by generation of an exception indication (i.e., by throwing an exception). Such heterogeneity means implementation of such standards can be challenging.